﻿using Core.Dtos;
using Core.Queries;
using Core.Messages;
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;

namespace Core.IServices
{
    [ServiceContract()]    
    public interface IPersonService
    {
        [OperationContract()]
        Response<PersonDto> FindById(int id);

        [OperationContract()]
        QueryResponse<PersonDto> FindBy(PersonQuery query);

        [OperationContract()]
        Response<int> Add(PersonDto dto);

        [OperationContract()]
        Response Edit(int id, PersonDto dto);

        [OperationContract()]
        Response Delete(int id);
    }
}
